CS 320-- Summer 2019: Quiz Two Study Guide and Practice Problems

General Comments

Practice Problems

Here are practice problems on various topics we have covered; these are a work in progress and NOT comprehensive, and I did not repeat exactly the same kind of examples I showed in lecture. Having a set of practice problems here does not mean that that topic is more important for the exam than a topic for which there are no practice problems (hopefully in time I will cover all topics equally). They are completely optional, and feel free to skip if they seem too easy, or raise for discussion on Piazza if they are hard.

Click on the links below to access the practice problems:

(A) Understanding let expressions and lambda expressions: scope of local variables in Python and Java;.

(B) Resolving Non-Local (Free) Variables in Java, Python, and Haskell; Dynamic vs Lexical Scope in Python and Haskell..

(C) Beta-Reduction of Lambda Expressions.

(D) Infinite Lists.

(E) Context-Free Grammars, Parse Trees, and Languages.

(F) Monads, using Maybe monad as example. .